#!/usr/bin/env python
import os
from itertools import cycle, imap


class Walker(object):
    def __init__(self):
        pass

    def walk(self, pth):
        for base, dirs, files in os.walk(pth):
            self.dirs(base, dirs)
            self.files(base, files)

    def dirs(self, base, dirs):
        map(self.dir, imap(os.path.join, cycle([base]), dirs))

    def dir(self, d):
        pass

    def files(self, base, files):
        map(self.file, imap(os.path.join, cycle([base]), files))

    def file(self, fname):
        pass
